package com.tedu.api.list;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class HomeWork {


    //集合Iterator  通过迭代--遍历集合--遍历同时删除元素  【推荐】
    //      普通for【不推荐】
    //      增强for【不可以在遍历同时删除元素】
    //ConcurrentModificationException   并发修改异常
    //产生原因：增强for底层遍历采用Iterator遍历--迭代器删除元素
    //                                      集合删元素
    //                    增强for中删除集合元素的方法用错！
    public static void main(String[] args) {
        Collection<String> c = new ArrayList();
        c.add("十一");
        c.add("元旦");
        c.add("春节");
        c.add("元宵节");
        //1.创建Iterator迭代器对象--通过集合获取对象
        Iterator<String> it=c.iterator();
        //2.迭代器使用遵循：问、取、删
        while (it.hasNext()) {//问：集合中是否有元素   true
            String str=it.next();//取：集合每个元素
            if ("元旦".equals(str)){
                // it.remove(); 迭代器 it 删除 集合元素
                //c.remove(str);//删除肯定报错
            }
        }
        /*for(String str:c){
            if("元旦".equals(str)){//元旦 判断 集合“元旦”
                c.remove("元旦");//是集合中元旦，删除
            }
            System.out.println("增强for："+str);
        }
        System.out.println("打印集合："+c);
    }*/
    }
}